package org.scboy.rbac.service;

import java.util.List;

import org.scboy.utils.entitys.coobi.Model;
import org.scboy.utils.entitys.coobi.Page;

/**
 * 
 * 用户账号业务相关功能。
 * @author yanghao
 *
 */
public interface UserAccountService {
	
	/**
	 * 分页查询用户账号
	 * @param model
	 * @return
	 */
	Page page(Model model);
	/**
	 * 根据用户ID查询账号（用户ID）。
	 * @param userId
	 * @return
	 */
	List<Model> getAcccounts(String userId);
	/**
	 * 根据用户ID和账号查询账号（用户ID，用户账号）。
	 * @param userId
	 * @param loginName
	 * @return
	 */
	Model getAccount(String userId,String loginName);
	/**
	 * 根据账号ID获取账号信息（账号ID）。
	 * @param id
	 * @return
	 */
	Model getAccount(String id);
	/**
	 * 根据用户账号查询用户账号信息（用户账号）。
	 * @param loginName
	 * @return
	 */
	Model getAccountByLoginName(String loginName);
	/**
	 * 启用禁用账号（账号ID）。
	 * @param id
	 * @return
	 */
	boolean checkState(String id);
	/**
	 * 新增账号（账号实体类）。加入事务注解@Transactional。
	 * @param model
	 * @return
	 */
	boolean add(Model model);

}
